/**
 * Created by zhangsong on 2017/8/23.
 */

const letter = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789';

/**
 * 根据参数,返回指定类型,指定长度随机数
 * @param {number} length 选填,不填为4,随机字符串长度
 * @param {String} type 选填,不填为 number,随机字符串类型,upperCase大写字母随机,lowerCase小写字母随机,character大小写字母随机,mix大小写字母加数字随机数,number纯数字随机数
 * @returns {string} 随机字符串
 */
function random(length = 4, type = 'number') {
  let text = '';
  let start = null,span = null;
  if(type === 'upperCase'){   // 大写字母随机数
    start = 26;
    span = 26;
  }else if(type === 'lowerCase'){   // 小写字母随机数
    start = 0;
    span = 26;
  }else if(type === 'character') {  // 大小写字母随机数
    start = 0;
    span = 52;
  }else if(type === 'mix'){   // 大小写字母加随机数
    start = 0;
    span = letter.length;
  }else{    // 如果都不是上面情况,则默认返回纯数字类型的随机数
    start = 52;
    span = 10;
  }
  for(let i=0;i<length;i++){
    text += letter[parseInt(Math.random()*span+start)];
  }
  return text;
}

module.exports = random;
